LCML/Преобразование
csvtoslicemap
csvtoslicemap - Преобразование CSV-данных в массив мап
Метод
Part: LCML/Преобразование
Функция csvtoslicemap преобразует данные в формате CSV в массив мап, где каждая строка файла представлена как map[string]string, а заголовки CSV используются в качестве ключей.
Формат
csvtoslicemap in
- in — массив байтов ([]byte), содержащий CSV-данные. Результат
Возвращает массив карт ([]map[string]string), где:
Каждый элемент массива соответствует одной строке CSV.
Ключами карт являются заголовки CSV.
Значениями являются данные соответствующих колонок.
Если возникают ошибки (например, неправильный формат CSV), возвращается ошибка (error). Пример использования ???
encodebase64
encodebase64 - Декодирование строки из Base64
Метод
Part: LCML/Преобразование
Формат
encodebase64 payload
- payload (string) — Строка в формате Base64, которую нужно декодировать. Результат
Возвращает декодированную строку. Если произошла ошибка декодирования, возвращается текст ошибки.
Пример использования
hash
hash - Хеширование строки с использованием SHA-1
Метод
Part: LCML/Преобразование
Функция hash вычисляет хеш строки с использованием алгоритма SHA-1.
Она применяет стандартную библиотеку Go для создания хеша строки и возвращает его в виде шестнадцатеричной строки.
Формат:
hash str
- str — строка, для которой нужно вычислить хеш. Результат:
Возвращает строковое значение — хеш от переданной строки, представленный в шестнадцатеричном виде.
Пример использования:
{{ $hashedValue := hash "string" }}
jsonescape
jsonescape - Экранирование символов для JSON
Метод
Part: LCML/Преобразование
Функция jsonEscape выполняет экранирование символов в строке для корректного использования в JSON.
Формат:
jsonescape string
- string — исходная строка для экранирования. Результат:
Возвращает строку с экранированными символами.
Пример использования:
{{ $string := `dog "fish" cat`}}
{{ jsonescape $string }}
>> dog \"fish\" cat
jsonescapeunlessamp
jsonescapeunlessamp - Экранирование символов для JSON (исключая амперсанд &)
Метод
Part: LCML/Преобразование
Функция jsonEscapeUnlessAmp выполняет экранирование символов в строке для корректного использования в JSON, но сохраняет амперсанд (&) неизменным.
Формат:
jsonescapeunlessamp string
- string — исходная строка для экранирования. Результат:
Возвращает строку с экранированными символами, за исключением амперсанда (&).
Пример использования:
{{ jsonescapeunlessamp `dog "fish" & cat` }}
>> dog \"fish\" & cat
marshal
marshal - Преобразуем в JSON
Метод
Part: LCML/Преобразование
Фукнция marshal преобразует переданный объект в строковое значение в формате JSON.
Формат
**marshal** object
object - переданных объект
Пример
{{ $s := marshal $.Value }}
В данном примере в переменную $s передается сериализованное значение объекта Value из текущего контекста ($.)
todate
todate - Функция todate преобразует строку в объект time.Time на основе указанного формата.
Метод
Part: LCML/Преобразование
Формат
todate fmt str
fmt: Формат строки даты, например, “2006-01-02 15:04:05”.
str: Строка с датой, которую необходимо преобразовать. Результат Возвращает объект time.Time, соответствующий указанной строке.
Пример использования
{{ $fmt := “2006-01-02 15:04:05” }} {{ $str := “2025-01-10 14:30:00” }} {{ $date := todate $fmt $str }} {{ $date }} >> 2025-01-10 14:30:00 +0000 UTC
todecimal
todecimal - Функция todecimal преобразует значение из восьмеричной системы счисления в десятичное.
Метод
Part: LCML/Преобразование
Формат
todecimal v
- v: строка или число в восьмеричной системе. Результат
Возвращает десятичное значение в формате int64.
Пример использования
{{ $res := todecimal “17” }} {{ $res }} >> 15
tofloat
tofloat - Преобразуем в формат вещественного числа (с запятой)
Метод
Part: LCML/Преобразование
Функция tofloat преобразует строковое или числовое значение в формат вещественного числа. Если преобразование невозможно, возвращается значение -1.
Формат:
tofloat value
- value — входное значение в строковом или числовом формате. Результат:
Возвращает значение в формате вещественного числа.
Примеры:
{{ tofloat "12.34" }}
Результат:
12.34
{{ tofloat "45,67" }}
Результат:
45.67
{{ tofloat "abc" }}
Результат:
-1
{{ tofloat " 78.9 " }}
Результат:
78.9
tohtml
tohtml - Преобразование в HTML
Метод
Part: LCML/Преобразование
Функция tohtml преобразует строку в формат HTML для безопасного рендеринга в шаблонах. Используется для вставки HTML-кода в шаблоны.
Формат:
tohtml value
- value — строковое значение. Результат:
Возвращаемый тип: template.HTML.
Пример:
{{ tohtml "<b>Bold</b>" }}
>> <b>Bold</b>
toint
toint - Преобразование в целое число
Метод
Part: LCML/Преобразование
Функция toint преобразует строку или значение другого типа в целое число.
Формат:
toint value
Результат
Возвращает int или -1, если преобразование невозможно.
Пример:
{{ toint "42" }}
>> 42
{{ toint "abc" }}
>> -1
- value - значение любого типа.
tointerface
tointerface - Преобразование в интерфейс
Метод
Part: LCML/Преобразование
Функция tointerface преобразует входное значение в интерфейс, сериализует его в JSON и десериализует обратно. Используется для приведения типов с автоматическим преобразованием сложных структур.
Формат
tointerface input
- input - данные любого типа. Результат:
Возвращает преобразованный интерфейс или ошибку, если преобразование невозможно.
tojson
tojson - Функция tojson кодирует данные в строку формата JSON.
Метод
Part: LCML/Преобразование
Формат
tojson v
- v: Данные для кодирования. Результат
Возвращает строку в формате JSON.
Пример использования
{{ $data := map “key” “value” }} {{ $json := tojson $data }} {{ $json }} >> {“key”:“value”}
tolower
tolower - Преобразование строки в нижний регистр
Метод
Part: LCML/Преобразование
Функция tolower преобразует все символы входной строки в нижний регистр..
Формат:
tolower value
- value — строка, которая должна быть преобразована.. Результат:
Возвращает строку, где все буквы приведены к нижнему регистру.
Пример:
{{ $helloString := tolower "Hello, WORLD!" }}
{{ $helloString }}
>> hello, world!
tomoney
tomoney - Форматирование числа в денежный формат
Метод
Part: LCML/Преобразование
Функция tomoney преобразует строку числа в формат денежного представления с разделением тысячных разрядов указанным разделителем.
Формат:
tomoney str dec
- str — строка, представляющая число.
- dec — строка, которая используется в качестве разделителя тысяч. Результат:
Возвращает строку, отформатированную с разделителем тысячных разрядов.
Пример:
{{ $amount := tomoney "111234567" "," }}
{{ $amount }}
>> 111,234,567
{{ $amount := tomoney "987654321" " " }}
{{ $amount }}
>> 987 654 321
toprettyjson
toprettyjson - Функция toprettyjson кодирует данные в форматированный JSON с отступами.
Метод
Part: LCML/Преобразование
Формат
toprettyjson v
- v: Данные для кодирования. Результат
Возвращает форматированную строку JSON.
Пример использования
{{ $data := marshal dict “key” “value” }} {{ $json := toprettyjson $data }} {{ $json }} >> { “key”: “value” }
tostring
tostring - Преобразование в строку
Метод
Part: LCML/Преобразование
Функция tostring преобразует переданное значение в строку.
Формат:
tostring value
- value — значение любого типа. Результат:
Строковое значение.
Примеры:
{{ tostring 123 }}
Результат:
"123"
{{ tostring true }}
Результат:
"true"
unmarshal
unmarshal - Преобразование значения из JSON в объект
Метод
Part: LCML/Преобразование
Функция unmarshal преобразует строковое значение в формате JSON в объект (структуру).Используется для работы с JSON-данными, чтобы получить удобный для обработки объект.
Формат:
unmarshal string
- string — строковое значение в формате JSON. Результат:
Возвращается объект (например, словарь или структура), построенный из JSON-строки.Если переданная строка не соответствует формату JSON, возвращается пустой объект.
Пример:
1. Простой кейс
{{ $textjson := `{"key1":"value1"}` }}
{{ $s := unmarshal $textjson }}
2. Пользовательский сценарий
{{ $queryparams := dictstring "tpls" $tickets "limit" "100" "filter_src" $p "filter_field" "author" "short" "false" }}
{{ $objTickets = unmarshal (apisearch "" $queryparams false) }}
В примере создаётся словарь параметров запроса $queryparams, который используется для фильтрации и настройки запроса через функцию apisearch.
Возвращённые данные в формате JSON преобразуются функцией unmarshal в объект $objTickets, с которым затем можно удобно работать в шаблоне.
Сценарий подходит для задач, связанных с динамическим извлечением и обработкой данных, таких как поиск или фильтрация тикетов.